package com.ipartek.formacion.pruebas;

import java.util.Scanner;

import com.ipartek.formacion.beans.Persona;
import com.ipartek.formacion.excepciones.PersonaException;

/**
 * Clase de prueba que pide una serie de datos por pantalla, cuando se introduce
 * el dato lo comprueba, y si no es correcto, continua pidiendolo hasta que lo
 * es.
 * 
 * @author Curso
 * 
 */
public class PruebaPersonas {

	public static void main(String[] args) {

		System.out.println("Probando con " + Persona.class.getCanonicalName()
				+ "\n");
		System.out.println("================================================");
		Persona persona = new Persona();

		Scanner teclado = new Scanner(System.in);

		// Bucle hasta que se introduzca un movil valido.
		for (;;) {
			try {
				System.out.println("\nIntroduce el telefono movil : ");
				String telefonoMovil = teclado.next();
				persona.setTelefonoMovil(telefonoMovil);
				break;

			} catch (PersonaException e) {
				System.out.println(e.getMensajeError());
			}
		}

		// Bucle hasta que se introduzca un telefono fijo valido.
		for (;;) {
			try {
				System.out.println("\nIntroduce el telefono fijo : ");
				String telefonoFijo = teclado.next();
				persona.setTelefonoFijo(telefonoFijo);
				break;

			} catch (PersonaException e) {
				System.out.println(e.getMensajeError());
			}
		}

		// Bucle hasta que se introduzca una edad valida.
		for (;;) {
			try {
				System.out.println("\nIntroduce la edad : ");
				String edad = teclado.next();
				persona.setEdad(Integer.parseInt(edad));
				break;

			} catch (PersonaException e) {
				System.out.println(e.getMensajeError());
			} catch (Exception e) {
				System.out.println(PersonaException.MSJ_RANGO_EDAD_NO_VALIDO);
			}
		}

		// Bucle hasta que se introduzca un email valido.
		for (;;) {
			try {
				System.out.println("\nIntroduce el email : ");
				String email = teclado.next();
				persona.setEmail(email);
				break;

			} catch (PersonaException e) {
				System.out.println(e.getMensajeError());
			}
		}

		System.out.println("\nTodos los datos SON CORRECTOS");
	}
}
